<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    
  </style>
</head>
<body>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
</body>
<script>

  // Array.prototype.push = "hello";

  // const arr = new Array();
  // console.log( arr.length );
  // arr.push = "hello";
  // console.log( arr.push );
  // // arr.push("ahhaha")
  // console.log( arr );

  // const arr2 = [];
  // // arr2.push("hahahah");
  // console.log(arr2.push);
  // console.log(arr2);

  // const arr3 = []
  // console.log(arr3.push)

  // ==============

  // 给某个内置构造函数的所有实例添加公共方法

  // Array.prototype.min = function(){
  //   return Math.min(...this);
  // }
  // Array.prototype.max = function(){
  //   return Math.max(...this);
  // }

  // const arr = [34,56,43,72,59];
  // console.log(arr);
  // console.log(arr.min());
  // console.log(arr.max());
  
  // const abc = [5,67,9,87,2,3,4,8];
  // console.log(abc);
  // console.log(abc.min());
  // console.log(abc.max());


  // ================

  // toString
  // console.log( {} );

  // console.log( Object.prototype.toString === {}.toString )

  // console.log( Object.prototype.toString.call( {} ) );
  // console.log( Object.prototype.toString.call( [] ) );
  // console.log( Object.prototype.toString.call( "hello" ) );
  // console.log( Object.prototype.toString.call( undefined ) );


  // ===============

  const div = document.querySelectorAll("div");

  console.log( div );
  console.log( Object.prototype.toString.call( div ) );

  console.log( div.slice );

  console.log( Array.prototype.slice );

  // 伪转真
  // 返回新数组，不会对原数组改变
  // const arrDiv = Array.prototype.slice.call(div, 0);
  // arrDiv.push("hello");
  // console.log(arrDiv);

  // arr是slice的执行对象
  // arr.slice()


  // console.log( [...div] )
  
  // const arr = []
  // div.forEach( val=>{
  //   arr.push(val)
  // } )
  // console.log(arr);

  


</script>
</html>